/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.easoftware.code.beans.facade;

import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;
import net.easoftware.code.beans.JpaEntityConverter;
import net.easoftware.code.beans.TipoCargaDatos;
import net.easoftware.code.beans.cargas.threading.CargasSavingThread;
import net.easoftware.code.beans.cargas.threading.CargasValidatorProcess;
import net.easoftware.code.beans.jpa.Cargadatos;
import net.easoftware.code.error.EaError;

/**
 *
 * @author ediaz
 */
@Named("cargadatos")
@SessionScoped
public class CargaDatosFc extends JpaEntityConverter implements Serializable {

    @Inject
    UsuarioFc usuario;
    private Integer mes;
    private Integer anio;
    private Date fecha;
    private Integer cantidaRegistros;
    private Integer noHojaDatos;
    private Integer saltoFilas;
    private LineaNegocio lineaNegocio;
    private UnidadNegocio unidadNegocio;
    private TasaCambioFc tasaCambio;
    private Double tasaCambioIn;
    private TipoCargaDatos cargaDatos;
    private boolean changeTasa = true;
    private List<CargasSavingThread> hilos = new LinkedList<>();
    private CargasValidatorProcess validationProcess = new CargasValidatorProcess();

    public CargasValidatorProcess getValidationProcess() {
        return validationProcess;
    }

    public void setValidationProcess(CargasValidatorProcess validationProcess) {
        this.validationProcess = validationProcess;
    }

    public List<CargasSavingThread> getHilos() {
        return hilos;
    }

    public void setHilos(List<CargasSavingThread> hilos) {
        this.hilos = hilos;
    }

    public boolean isChangeTasa() {
        return changeTasa;
    }

    public void setChangeTasa(boolean changeTasa) {
        this.changeTasa = changeTasa;
    }

    public Double getTasaCambioIn() {
        return tasaCambioIn;
    }

    public void setTasaCambioIn(Double tasaCambioIn) {
        this.tasaCambioIn = tasaCambioIn;
    }

    public TasaCambioFc getTasaCambio() {
        return tasaCambio;
    }

    public void setTasaCambio(TasaCambioFc tasaCambio) {
        this.tasaCambio = tasaCambio;
    }

    public Integer getCantidaRegistros() {
        return cantidaRegistros;
    }

    public void setCantidaRegistros(Integer cantidaRegistros) {
        this.cantidaRegistros = cantidaRegistros;
    }

    public Integer getNoHojaDatos() {
        return noHojaDatos;
    }

    public void setNoHojaDatos(Integer noHojaDatos) {
        this.noHojaDatos = noHojaDatos;
    }

    public Integer getSaltoFilas() {
        return saltoFilas;
    }

    public void setSaltoFilas(Integer saltoFilas) {
        this.saltoFilas = saltoFilas;
    }

    public LineaNegocio getLineaNegocio() {
        return lineaNegocio;
    }

    public void setLineaNegocio(LineaNegocio lineaNegocio) {
        this.lineaNegocio = lineaNegocio;
    }

    public UnidadNegocio getUnidadNegocio() {
        return unidadNegocio;
    }

    public void setUnidadNegocio(UnidadNegocio unidadNegocio) {
        this.unidadNegocio = unidadNegocio;
    }

    public TipoCargaDatos getCargaDatos() {
        return cargaDatos;
    }

    public void setCargaDatos(TipoCargaDatos cargaDatos) {
        this.cargaDatos = cargaDatos;
    }

    public Integer getMes() {
        return mes;
    }

    public void setMes(Integer mes) {
        this.mes = mes;
    }

    public Integer getAnio() {
        return anio;
    }

    public void setAnio(Integer anio) {
        this.anio = anio;
    }

    public Date getFecha() {
        return fecha;
    }

    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    @Override
    public Object getEntityBean() throws EaError {
        this.fecha = Calendar.getInstance().getTime();
        this.setDestClassType(Cargadatos.class);
        Cargadatos cd = (Cargadatos) super.getEntityBean();
        return cd;
    }

    public void reset() {
    }
}
